Sending location information from within a communication application

ABSTRACT

A method in a first wireless communication device for displaying current location information representing a current location of a second wireless communication device. The method entails, from within a communication application executing on a processor of the first wireless communication device, receiving the current location information representing the current location of the second wireless communication device, performing a reverse look-up of the received current location of the second wireless communication device to determine address information, displaying a map from within the communication application, and identifying the received current location information on the displayed map with a name associated with the determined address information.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/049,339, filed Jul. 30, 2018, which is a continuation of U.S. patentapplication Ser. No. 15/357,825, filed Nov. 21, 2016, which is acontinuation of U.S. patent application Ser. No. 14/733,518, filed Jun.8, 2015, which is a continuation of U.S. patent application Ser. No.14/142,918, filed Dec. 29, 2013, which is a continuation of U.S. patentapplication Ser. No. 13/665,051, filed Oct. 31, 2012, which is acontinuation of U.S. patent application Ser. No. 13/330,465, filed onDec. 19, 2011, which is a continuation of U.S. patent application Ser.No. 11/923,940, filed on Oct. 25, 2007 and issued as U.S. Pat. No.8,086,398, all of which applications are fully incorporated by referenceherein.

TECHNICAL FIELD

The present disclosure relates generally to wireless communicationdevices and, in particular, to wireless communication devices havingGlobal Positioning System (GPS) receivers or other suchpositioning-determining capabilities.

BACKGROUND

Some wireless communication devices have Global Positioning System (GPS)chipsets (or external Bluetooth™ dongles) that convert radio-frequencysignals received from orbiting GPS satellites into real-time coordinatesof longitude and latitude that are typically accurate to within a fewmeters of the actual current location of the device. This currentlocation information can be transmitted to a recipient as positioncoordinates (longitude and latitude), as a map, or as a URL to a mapthat can be downloaded and displayed used a mapping application such asBlackBerry Maps™, Google Maps™ or MapQuest™. To send locationinformation using current technology, however, requires that the userlaunch a mapping application. This presents an inconvenience for theuser who is already engaged within a communication application, e.g. auser who is already composing an e-mail or who is chatting on an instantmessenger.

BRIEF DESCRIPTION OF THE DRAWINGS

Further features and advantages of the present technology will becomeapparent from the following detailed description, taken in combinationwith the appended drawings, in which:

FIG. 1 is a flowchart outlining steps of a method of sending currentlocation information from within an e-mail application, instantmessenger or other communication application in accordance withimplementations of the present technology;

FIG. 2 is a block diagram of key components of a GPS-enabled wirelesscommunication device on which the present technology can be implemented;

FIG. 3 illustrates an example of one type of wireless communicationdevice on which the present technology can be implemented to enable auser to attach current location information while composing an e-mailmessage;

FIG. 4 shows, by way of example, how a dedicated hotkey can be triggeredwhile composing an e-mail message to enable the user to attach locationinformation;

FIG. 5 shows, by way of example, a drop-down menu triggered by thehotkey that presents a variety of message-related options to the user,including an option to “Attach Location”;

FIG. 6 shows, by way of example, how a user can roll a thumbwheel toscroll down to the “Attach Location” option to cause the device toobtain and attach (or embed) current location information;

FIG. 7 shows, by way of example, that current location informationexpressed in terms of latitude and longitude can be embedded directlyinto the body of the e-mail message;

FIG. 8 shows, by way of example, how reverse lookup (reverse geocoding)can be used to embed a street address corresponding to the currentlocation;

FIG. 9 shows, by way of example, how reverse lookup (reverse geocoding)can be used to embed a name of a business corresponding to the currentlocation;

FIG. 10 shows, by way of example, that a bitmap representing a map ofthe current location can be attached to the e-mail as an attachment;

FIG. 11 shows, by way of example, that a hyperlinked URL can be insertedinto the body of the e-mail message to enable the recipient to downloada map of the current location; and

FIG. 12 shows, an options page within a communication application forenabling the user to configure settings and preferences for modifyingthe functionality of the “Attach Location” feature depicted in theprevious figures.

It will be noted that throughout the appended drawings, like featuresare identified by like reference numerals.

DETAILED DESCRIPTION

The present technology generally provides a method, wirelesscommunication device and computer program product that enable sending ofcurrent location information from within an e-mail application, instantmessenger or other communication application.

Accordingly, an aspect of the present technology is a method in a firstwireless communication device for displaying current locationinformation representing a current location of a second wirelesscommunication device. The method entails, from within a communicationapplication executing on a processor of the first wireless communicationdevice, receiving the current location information representing thecurrent location of the second wireless communication device, performinga reverse look-up of the received current location of the secondwireless communication device to determine address information,displaying a map from within the communication application, andidentifying the received current location information on the displayedmap with a name associated with the determined address information.

Another aspect of the present technology is a computer program productthat includes code adapted to perform the steps of the foregoing methodwhen the computer program product is loaded into memory and executed ona processor of a wireless communication device.

Yet another aspect of the present technology is a wireless communicationdevice for displaying current location information representing acurrent location of a second wireless communication device. The wirelesscommunication device has a transceiver for receiving the currentlocation information representing the current location of the secondwireless communication device at a communication application executingin the wireless communication device; a processor for performing areverse look-up of the received current location of the second wirelesscommunication device to determine address information; and a display fordisplaying a map with the received current location informationidentified on a displayed map with a name associated with the determinedaddress information from within the communication application.

The details and particulars of these aspects of the technology will nowbe described below, by way of example, with reference to the attacheddrawings.

FIG. 1 is a flowchart outlining steps in a method of enabling a user ofa wireless communication device to send current location informationrepresenting a current location of the wireless communication device. Asdepicted in FIG. 1, an initial step 10 of this method is launching (i.e.activating or “opening”) a communication application such as, forexample, an e-mail application or an instant messenger. Launching thecommunication application can be done directly by the user or indirectlyby first launching another application that, in turn, activates thecommunication application. Once the communication application (e.g.e-mail or instant messaging) has been launched either directly orindirectly, the present method can be used to send current locationinformation from within the communication application. Sending locationinformation from within a communication application is very convenientbecause it obviates the need to separately launch a mapping application(or other specific location-based application) for sending locationinformation. Since the location information can be sent directly fromwithin the communication application, the user saves both time andeffort.

FIG. 1 depicts a step 12 of composing a message or communication afterhaving launched the communication application. The user can thus attachor embed location information once he or she has begun to compose amessage (or to compose a reply). It is important to note that the usercan also send the location information without having actually begun“composing” the message (i.e. without having begun typing any text orhaving even selected a recipient email address). In other words, theuser can simply include (i.e. attach or embed) the location informationand then select a contact or an email (or IM) recipient for receipt ofthe location information. Alternatively, the user can select one hiscontacts, bring up the message template with the email addresspopulated, and then attach or embed the location information.Alternatively, the user can attach or embed (i.e. “include”) thelocation information in a reply to another person or in a message to beforwarded.

As further depicted in FIG. 1, once the user is within a communicationapplication executing on a processor of the wireless communicationdevice, the user can cause the wireless communication device to obtainthe current location information representing the current location ofthe wireless communication device (step 16). This can be done by wakingthe GPS chipset to cause it to obtain a fresh GPS fix or by accessingrecent GPS position data stored on the device. The current locationinformation can be GPS position coordinates of longitude and latitude.Alternatively, reverse lookup (also known as “reverse geocoding”) canprovide a street address or the name of the occupant or businessresiding at that street address. Obtaining an address by reversegeocoding can be accomplished, for example, by transmitting thecoordinates of longitude and latitude to a server which compares thecoordinates to a road network stored in its mapping database, and thentransmits back to the device an approximated address. Alternatively,obtaining an address by reverse geocoding can be done locally with arequest to a mapping engine (mapping application) local to the device,provided the map data is entirely contained in the device's memory, e.g.on the device's removable memory card. The name of a person or companycould potentially be inferred by looking up the entry in the device'saddress book corresponding to the given address, or at least one verysimilar to it. For example, based on position coordinates, reversegeocoding might suggest that the address is most probably e.g. 123 MainStreet. The device would then search its address book for the address“123 Main Street”. If such an entry exists, the name of the person orbusiness would be extracted.

At step 16, the communication application includes the current locationinformation in a communication (e.g. email message or instant message)generated from within the communication application. The communicationcan be not only an e-mail message or instant message, but also an SMS,MMS or PIN message. The current location information can be included asan attachment (e.g. a bitmap (.bmp) or JPEG (.jpg) of the mappedlocation). The current location information can also be included byembedding or inserting the information as text or graphics directlywithin the body of the communication (e.g. as text of the coordinates orstreet address that might take the form, for example, of a pre-formattedmessage such as “My current location at [insert timestamp] is [insertlongitude and latitude] which corresponds to [insert street address]inserted at the bottom of the text portion of the portion. The user canchoose to include or suppress the time of day. Time information (thatgives the time at which the GPS fix was obtained) is useful for therecipient in assessing how fresh or stale the current positioninformation actually is. Other user options could enable the user toformat its position, font, size, etc, or to customize the message sothat it includes the user's name or suppresses the position coordinatesif the street address can be determined by a reverse lookup technique(“reverse geocoding”).

At step 18, the communication that includes the current locationinformation is transmitted. As noted above, the communication can be ane-mail, instant message, SMS, MMS or PIN message. The communication thatincludes the current location information thus informs the recipient ofthe user's current location without requiring that the user separatelyactivate a mapping application, GPS manager or other location-basedapplication to send the location information.

Subsequently, as shown in the method flow of FIG. 1, the device canfurther enable the user to send updated location information, forexample, in reply to a subsequent message, by repeating the aboveprocess. The communication application can therefore be made to beresponsive to a request to resend or update the location information(step 20). Alternatively, at step 20, the communication application canactively prompt or remind the user to resend a location update in replyto the next message from the same recipient (contact). The communicationapplication can also be programmed to provide such a reminder only if acertain time has elapsed or if the device's GPS chipset detects that thedevice has been displaced in a given period of time in which case anupdate may be warranted. For example, the user could configure thedevice to prompt the user if the device moves more than 1 km (0.6 miles)in the ten minutes following the sending of its current location. If nofurther location information is to be sent, then the method ends at step22. As another variant, the device could be configured to automaticallytransmit location information on request. Usually, this would requirethe user to grant permission to do so, for privacy reasons. For example,this would enable the sending of location updates to the recipient forthe duration of the current chat session.

The foregoing method steps can be implemented as coded instructions in acomputer program product. In other words, the computer program productis a computer-readable medium upon which software code is recorded toperform the foregoing steps when the computer program product is loadedinto memory and executed on the microprocessor of the wirelesscommunication device.

This novel method is preferably implemented on a wireless communicationdevice such as the BlackBerry® by Research in Motion Limited (or onother wireless handhelds, cellular phones, wireless-enabled laptops orwireless-enabled PDAs).

FIG. 2 is a block diagram depicting certain key components of a wirelesscommunication device 100. It should be expressly understood that thisfigure is intentionally simplified to show only certain components; thedevice 100 of course includes other components beyond what are shown inFIG. 2. The device 100 includes a microprocessor 102 (or simply a“processor”) which interacts with memory in the form of RAM 104 andflash memory 106, as is well known in the art. The device 100 includesan RF transceiver 108 for communicating wirelessly with one or more basestations 200. The device 100 includes a GPS receiver chipset 110 forreceiving GPS radio signals transmitted from one or more orbiting GPSsatellites 300. In terms of input/output devices or user interfaces, thedevice 100 typically includes a display 112 (e.g. a small LCD screen), athumbwheel and/or trackball 114, a keyboard 116, a USB 118 or serialport for connecting to peripheral equipment, a speaker 120 and amicrophone 122. The processor and memory thus enable (among othersoftware applications) a communication application such as an e-mailapplication and/or an instant messenger to run on the wireless device.The communication application(s) interact with the GPS receiver 110 (GPSchipset) by receiving GPS position data either directly or indirectlyfrom a GPS chipset manager application that executes on the device formanaging the GPS receiver hardware and for (optionally) storing recentGPS position data from recent GPS fixes.

FIGS. 3 to 11 illustrate operation of the present technology on atypical wireless communication device. In the examples presented withreference to FIGS. 3 to 11, a user wishes to include (i.e. attach orembed) current location information (in one format or another) in ane-mail message that he is composing to a recipient. As illustrated inthis example, the user begins composing an e-mail message to a recipient(“Rob”) with regard to a subject “Tom's idea”) by filling in the “To:”and “Subject:” fields in the usual manner.

FIG. 4 shows, by way of example, how a dedicated hotkey can be triggeredwhile composing an e-mail message to enable the user to attach locationinformation. In this particular example, a button on the side of thedevice is depressed, although it should be expressly understood that anyother key, combination of keys or any other user input including voicecommands) could be utilized to trigger the location-inclusionfunctionality of the device.

FIG. 5 shows, by way of example, a drop-down menu triggered by thehotkey that presents a variety of message-related options to the user,including an option to “Attach Location”. The drop-down menu ispresented merely by way of example, i.e. the particular choices/optionsin the menu and the precise wording (“Attach Location”) are merely meantto be illustrative of one way of providing this feature on a wirelessdevice. The “Attach Location” feature in this particular example ismeant to encompass both the providing of location information as anactual attachment to the e-mail message and the insertion or embeddingof location information directly into the body of the message.

Where a distinction is to be made between attaching and inserting, amore generic feature label such “Include Location”, “Send Location”,“Provide Location”, “Share Location”, etc., may be used. In that case,the menu choice “Include Location” (or Send/Provide/Share Location) maybe further bifurcated or subdivided into further sub-choices as towhether to “Attach Location” (as an actual attachment) or whether to“Insert Location” by embedding the location directly within the body ofthe message. Further options could be presented to allow the user topick the actual format of the current location information, i.e. whetherto send coordinates, a pre-generated map (e.g. a bitmap, JPEG, etc.) ora hyperlinked URL to enable the recipient to download the map by simplyclicking on the hyperlinked URL. These could be presented as furtherbranches in the menu or alternatively as configurable settings in anoptions page (to be discussed in greater detail below with regard toFIG. 12).

FIG. 6 shows, by way of example, how a user can roll a thumbwheel toscroll down to the “Attach Location” option to cause the device toobtain and attach (or embed) current location information. In thisexample, the user rolls the thumbwheel to the “Attach Location” optionand then depresses the thumbwheel to select this option. As notedpreviously, this feature can be activated with other user inputs (otherhotkeys, key combos, trackball, touch pad, touch screen, voice commands,etc., depending on the user interface of the particular device).

FIG. 7 shows, by way of example, that current location informationexpressed in terms of latitude and longitude can be embedded directlyinto the body of the e-mail message. The format/presentation can beconfigurable or customizable by the user of the device. Since thecoordinates are usually not that meaningful taken alone, equivalentaddress information may be presented by using a mapping applicationand/or address book, geographical information database, etc. thatenables a reverse lookup or reverse geocoding. For example, reversegeocoding of Latitude 45.34, Longitude −75.9133 would provide a streetaddress of 450 March Rd., Kanata, ON K2K 3K2. This information could beinserted into the body of the message as shown in FIG. 8. Alternatively,the street address can be attached as a text attachment. As a furtherrefinement, the street address can be supplemented or replaced (againusing reverse geocoding) with the name of the person, business orestablishment that is resident at that street address, as shown in FIG.9. In this particular example, the business name “RIM Ottawa” can beembedded into the message as text or attached as an attachment. FIG. 10shows, by way of example, that a bitmap representing a map of thecurrent location can be attached to the e-mail as an attachment. The mapcan be in any number of formats, such as .bmp, .jpg, etc. The map wouldpreferably include a visual marker or icon (e.g. an arrow, crosshairs,etc.) showing the current location of the user on the map. Rather thansending a pre-generated map, the user can choose to send a hyperlinkedURL, as shown in FIG. 11, which can be inserted into the body of thee-mail message to enable the recipient to download a map of the currentlocation.

The foregoing examples demonstrate a number of aspects of thistechnology but it should be understood that the user need not be withinan email application to make use of this technology since any othercommunication application can be used instead, for example, instantmessenger, SMS, MMS or PIN messaging.

FIG. 12 shows, an options page 400 within a communication application,such as an e-mail application or instant messenger, for enabling theuser to configure settings and preferences for modifying or customizingthe functionality of the location-inclusion feature described above withregard to the previous figures. This options page 400 is provided merelyby way of example, to show various possible options that can beconfigured by the user. For example, the options page 400 may contain atoggle to enable or disable the location-inclusion feature.

The options page 400 may also enable the user to include the locationinformation in one or more of a variety of different formats. Forexample, the options page 400 shown in this particular example has aplurality of check boxes to enable the user to configure thecommunication application to attach the map (for example, either as abitmap or JPEG), to insert coordinates (in terms of longitude andlatitude), to insert an address obtained using reverse geocoding(reverse lookup), to insert a name (person, business, organization orestablishment) associated with the address, again if available fromreverse geocoding), and/or to insert a hyperlinked URL to enable therecipient of the communication to download a map showing the currentlocation of the device. Note that the user can optionally check morethan one check box, so that the user configures the application to sendcurrent location information in more than one format. For example, theuser could configure the application to attach a map and also send thestreet address embedded as text within the body of the message when the“Attach Location” feature is triggered.

As further depicted in FIG. 12, the options page 400 may further includesettings that permit the user to configure the communication applicationto determine the current location information based on a new GPSposition fix in the case that GPS reception is presently unavailable(e.g. the GPS receiver is off or its signal reception is lost), in whichcase a delay is to be expected while the device wakes its GPS chipset toget a new position fix (e.g. a “cold start” or a “warm start”). Aprogress bar (labelled in this example “Acquisition Progress”) shows howthe acquisition of the new position fix is progressing (time to firstfix, or TIFF, for the cold or warm start). Alternatively, the user canconfigure the application to use the most recently obtained position fix(where the GPS receiver has been shut off or where interferenceprecludes the reception of GPS signals). In the scenario where the GPSunit is off or where the GPS chipset is unable to receive signals, theuser can configure the application to include current locationinformation in a communication by retrieving the most recent GPS fixfrom memory and using that position fix as the most “current” location.A further setting (not shown) would enable the user to specify a maximumage for the recent position fix to limit the potential inaccuracy of theresult. In other words, the user could, for example, specify that nostored GPS fix older than 10 minutes be used. For example, if the usertravels through a long tunnel and loses GPS signal reception, the devicewould not send the location information after ten minutes have elapsedbecause the fix has gone stale. A new position fix would then have to beobtained before transmitting the current location information in themessage.

In another implementation of this technology, the user can trigger thegeneration and sending of a message while engaged in a voice call byexploiting the separate voice and data channels on the wirelesscommunication device. This implementation could, for example, use adedicated hotkey (such as the side button shown in the preceding figuresor any other key or combination of keys) to launch an application thatautomatically generates a message (e.g. an e-mail, SMS, MMS or the like)by auto-populating the e-mail address from the user's address book bycorrelating the telephone number of the voice call underway with aparticular contact in the address book and then pulling the e-mailaddress associated with that phone number (or contact) into the e-mailrecipient's field. The application would then, for example, attach orembed into the e-mail or other datagram-based message the currentlocation information which would then be transmitted automatically viathe device's wireless transceiver to the party with whom the user istalking (thereby enabling the recipient to receive the current locationinformation). Because of the separate voice and data channels, the callwould continue unaffected by the transmission of the locationinformation. This implementation would be useful in a number ofsituations, such as, for example, the scenario where two individuals aretalking on their wireless devices and one wishes to send a map of hiscurrent location to the other without having to interrupt the telephonediscussion.

In yet another implementation, the communication application can befurther configured to enable the user to transmit the current locationinformation as well as recent path information delineating a recent pathtaken by the user, the recent path information being determined based onrecent location fixes for the device. In certain cases, the user maywish to send to the recipient not just his or her current location butalso the route or path that he or she has taken. This feature would thusenable user to provide the path or route plotted out on a map (oralternatively a set of waypoints in coordinate form or in street addressform). Alternatively, the map could have bubble captions showing theaddresses of the various waypoints along the route.

Although GPS (Global Positioning System) represents the preferred mannerof obtaining location information for a mobile device, it should beappreciated that other techniques could be used in lieu of, or inaddition to, GPS coordinates. The location of the device can bedetermined using triangulation of signals from in-range base towers,such as used for Wireless E911. Wireless Enhanced 911 services enable acell phone or other wireless device to be located geographically usingradiolocation techniques such as (i) angle of arrival (AOA) whichentails locating the caller at the point where signals from two towersintersect; (ii) time difference of arrival (TDOA), which usesmultilateration like GPS, except that the networks determine the timedifference and therefore the distance from each tower; and (iii)location signature, which uses “fingerprinting” to store and recallpatterns (such as multipath) which mobile phone signals exhibit atdifferent locations in each cell. Coarser location information can beobtained not only be triangulating the device's position based on nearbycell towers but also based on nearby Wi-Fi access points via the WLANradio.

This new technology has been described in terms of specificimplementations and configurations which are intended to be exemplaryonly. The scope of the exclusive right sought by the Applicant istherefore intended to be limited solely by the appended claims.

1. A method in a first wireless communication device for displayingcurrent location information representing a current location of a secondwireless communication device, the method comprising: receiving thecurrent location information representing the current location of thesecond wireless communication device at a communication applicationexecuting in the first wireless communication device; performing areverse look-up of the received current location of the second wirelesscommunication device to determine address information; displaying a mapfrom within the communication application; and identifying the receivedcurrent location information on the displayed map with a name associatedwith the determined address information.
 2. The method as claimed inclaim 1, further comprising receiving one or more of a set of positioncoordinates and a URL to a map.
 3. The method as claimed in claim 2,wherein the set of position coordinates are GPS coordinates.
 4. Themethod as claimed in claim 1, wherein the current location is receivedat the first wireless communication device while the first wirelesscommunication device is in a voice call with the second wirelesscommunication device.
 5. The method as claimed in claim 4, wherein thecurrent location information is received over a channel other than thevoice channel.
 6. The method as claimed in claim 1, further comprisingreceiving the current location information as well as recent pathinformation delineating a recent path taken, the recent path informationbeing determined based on recent location fixes for the device.
 7. Anon-transitory computer-readable medium comprising executableinstructions which, when executed, cause a first processor comprisedwithin a first wireless communication device to: receive the currentlocation information representing the current location of a secondwireless communication device at a communication application executingin the first wireless communication device; perform a reverse look-up ofthe received current location of the second wireless communicationdevice to determine address information; display a map from within thecommunication application; and identify the received current locationinformation on the displayed map with a name associated with thedetermined address information.
 8. The non-transitory computer-readablemedium of claim 7, further comprising executable instructions which,when executed, cause the processor to receive one or more of a set ofposition coordinates and a URL to a map.
 9. The non-transitorycomputer-readable medium of claim 8, wherein the set of positioncoordinates are GPS coordinates.
 10. The non-transitorycomputer-readable medium of claim 7, wherein the current location isreceived at the first wireless communication device while the firstwireless communication device is in a voice call with the secondwireless communication device.
 11. The non-transitory computer-readablemedium of claim 10, wherein the current location information is receivedover a channel other than the voice channel.
 12. The non-transitorycomputer-readable medium of claim 7, further comprising executableinstructions which, when executed, cause the processor to receive thecurrent location information as well as recent path informationdelineating a recent path taken, the recent path information beingdetermined based on recent location fixes for the device.
 13. A wirelesscommunication device for displaying current location informationrepresenting a current location of a second wireless communicationdevice, the wireless communication device comprising: a transceiver forreceiving the current location information representing the currentlocation of the second wireless communication device at a communicationapplication executing in the wireless communication device; a processor,operatively coupled with the transceiver, for performing a reverselook-up of the received current location of the second wirelesscommunication device to determine address information; and a display,operatively coupled with the processor for displaying a map with thereceived current location information identified on a displayed map witha name associated with the determined address information from withinthe communication application.
 14. The wireless communication device asclaimed in claim 13, wherein the transceiver further receives one ormore of a set of position coordinates and a URL to a map.
 15. Thewireless communication device as claimed in claim 14, wherein the set ofposition coordinates are GPS coordinates.
 16. The wireless communicationdevice as claimed in claim 13, wherein the current location is receivedat the first wireless communication device while the first wirelesscommunication device is in a voice call with the second wirelesscommunication device.
 17. The wireless communication device as claimedin claim 16, wherein the current location information is received over achannel other than the voice channel.
 18. The wireless communicationdevice as claimed in claim 13, wherein the transceiver further receivesthe current location information as well as recent path informationdelineating a recent path taken, the recent path information beingdetermined based on recent location fixes for the device.